#[cfg(test)]
mod tests {
    use task_derive_macros::*;

    #[test]
    fn test_partial_eq() {
        let title = "title";
        let description = "description";
        let status = "To-Do";
        let ticket1 = Ticket::new(
            title.to_string(),
            description.to_string(),
            status.to_string(),
        );
        let ticket2 = Ticket::new(
            title.to_string(),
            description.to_string(),
            status.to_string(),
        );
        assert_eq!(ticket1, ticket2);
    }

    #[test]
    fn test_description_not_matching() {
        let title = "title";
        let status = "To-Do";
        let ticket1 = Ticket::new(
            title.to_string(),
            "description".to_string(),
            status.to_string(),
        );
        let ticket2 = Ticket::new(
            title.to_string(),
            "description2".to_string(),
            status.to_string(),
        );
        assert_ne!(ticket1, ticket2);
    }

    #[test]
    fn test_title_not_matching() {
        let status = "To-Do";
        let description = "description";
        let ticket1 = Ticket::new(
            "title".to_string(),
            description.to_string(),
            status.to_string(),
        );
        let ticket2 = Ticket::new(
            "title2".to_string(),
            description.to_string(),
            status.to_string(),
        );
        assert_ne!(ticket1, ticket2);
    }

    #[test]
    fn test_status_not_matching() {
        let title = "title";
        let description = "description";
        let ticket1 = Ticket::new(
            title.to_string(),
            description.to_string(),
            "status".to_string(),
        );
        let ticket2 = Ticket::new(
            title.to_string(),
            description.to_string(),
            "status2".to_string(),
        );
        assert_ne!(ticket1, ticket2);
    }
}
